This invention relates to a display terminal for a digital data processing system, and more particularly to enhancement of alphanumeric and other data symbols displayed on a cathode ray tube (CRT) operated in a raster scan mode, as disclosed in U.S. Pat. No. 3,345,458.
In the raster scan mode, the electron beam is swept across the screen in parallel lines until the entire surface (field) of the screen has been swept. The beam is controlled to brighten dots at selected points that define a character in a line of data.
Typically, a frame is divided into 80 columns and 24 rows. Each column provides a character space, and each row provides a line of characters. The character space defined by a column and row count is further subdivided into a matrix of dot positions, typically 8.times.11, where each of seven horizontal dot positions in each of ten scan lines may be selectively brightened to make up a character. The useful dot matrix within a character space is thus 7.times.10, leaving a clear scan line to separate lines of characters, and a clear column at the end (or beginning) of each character to separate characters in a line. Consequently, the entire field displayed is divided into an array of 560.times.264 adjacent dot spaces, even though some spaces are not used, to provide spaces between characters and lines of characters, and within a 7.times.10 matrix, only those actually needed to form a character are used while displaying data.
For data display purposes, a clock generator operating in the megahertz range is divided down to obtain a 60 Hz vertical (V) sync rate, and down further to get horizontal (H) sync rates, thereby producing field display at the rate of 60 per second. This chain of dividers will not only synchronize the data display with the horizontal and vertical scan of noninterlaced fields, but provide the addressing information necessary to read out into a shift register trains of binary digits, where each bit 1 will cause the beam to brighten a dot as a line is scanned. When the entire raster of scans for a line of characters have been scanned, and all 24 lines of data have been displayed, the data stored in a RAM will have been displayed in 80.times.24 character spaces.
For each character space, the shift register is loaded with a new train of binary digits as a line of data is displayed. These binary digits define the dots to be displayed and, as the last of the previous train is shifted out into a video mixer that combines sync and blanking with the binary digits into a composite signal for display, the next set of binary digits is loaded into the shift register. In the CRT display unit, a horizontal (H) and vertical (V) drive generator responds to the horizontal and vertical sync pulses to produce the horizontal and vertical drive signals applied to deflection coils, while the binary digits from the shift register, and the blanking signals, are applied to the cathode of the CRT. In that way, the beam is brightened for dots defined by 1 bits out of the shift register, and blanked at all other times while 0 bits are shifted out and while the blanking signals for line and field retrace are present.
To form a line of characters the clock frequency divider is used to address a random access memory (RAM) for each line of 80 characters, one character at a time in sequence. Each output character code, together with the output of a counter that counts the lines of characters, addresses a character generator implemented with a read only memory (ROM) to produce in sequence the corresponding lines of binary digits that define the characters in the row addressed. A shift register receives the binary digits in parallel for one character at a time in sequence, and converts them into a continuous serial train. After the procedure has been repeated ten times for one line of 80 characters, the address to the RAM is advanced to the next line of 80 characters. In that manner the output of the RAM addresses the character generator to convert the character code out of the ROM into the binary digits that define the positions of dots for the characters.
The number of raster scans per field is limited, typically to 280. For a block of 80.times.24 characters, with an 8.times.11 dot matrix for each character, for example, there must be 11.times.24=264 raster scans used. The rest of the time (26 raster scans) is not available for data display, and is instead partly used for field retrace, although sometimes 11 raster scans are used for display of operating information, such as terminal status, host messages, set-up mode or function key legends.
Due to the velocity of the beam across the CRT screen, each dot is in actuality displayed as an ellipse with its major axis horizontal. Consequently, adjacent horizontally spaced dots run together, particularly when the width of the dot space is reduced in order to display 80 characters in a line, while adjacent vertically spaced dots do not. The result is that the characters appear to be made up of discrete dots in vertical and diagonal portions of a character, and solid bars in horizontal portions. This deficiency in the vertical and diagonal directions provides rather low definition of characters displayed.
A simple way to increase vertical resolution would be to use interlaced fields so that the odd field is displaced a half raster scan space, but since the data being displayed is constant until changed, the characters will appear to flicker. That is quite disturbing to the viewer. It is therefore preferable to use noninterlaced fields to display data refreshed 60 times per second. The problem is to enhance the data display within those constraints.